1
El arte de definir métodos flexibles
AI035Lesson 4
00:00

Ruby eleva las definiciones de métodos desde firmas rígidas hasta interfaces dinámicas. Al dominar el operador Splat operador y la lógica basada en expresiones, creamos métodos que se adaptan con elegancia a diferentes densidades de datos sin necesidad de sobrecargas complejas.

1. Predeterminados inteligentes y operador Splat

Ruby permite inicializar parámetros dentro de la firma, asegurando funcionalidad incluso con pocos datos. El operador Splat (*) actúa como un puente: en los parámetros, captura argumentos adicionales en un arreglo; en las llamadas, 'desarma' un arreglo en elementos individuales.

LA CAPTURA (Parámetro)def f(a, *rest)f(1, 2, 3) →rest = [2, 3]LA EXPLOSIÓN (Llamada)arr = [1, 2, 3]meth(*arr) →meth(1, 2, 3)

2. Devoluciones basadas en expresiones

Los métodos de Ruby devuelven automáticamente el valor de la última expresión ejecutada. Sin embargo, la palabra clave return se utiliza estratégicamente para salir temprano o devolver múltiples valores como un arreglo para asignación paralela.

num, sq = meth_three
# Ruby empaqueta (num, sq) como un arreglo [32, 1024]
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>